package com.ebupt.migu.music.commons.selfdom;

import com.ebupt.migu.music.commons.selfdom.demo.*;

/**
 * 为前置条件属性对象创建抽象类来获取工厂
 * 前置条件属性（1，设备信息；2，账号信息；3，app信息；4，省份运营；5，渠道标签；6，登录；7，网络环境；8，会员省份；9，达人身份）
 * @author wangzhu
 * @since 2021-12-31
 */
public abstract  class AbstractFactory {

    /**
     * 设备信息对象
     */
    public abstract Equipment getEquipment();

    /**
     * 账号信息对象
     */
    public abstract Account getAccount();

    /**
     * app信息对象
     */
    public abstract App getApp();

    /**
     * 省份运营信息对象
     */
    public abstract Province getProvince();

    /**
     * 渠道标签信息对象
     */
    public abstract Channel getChannel();

    /**
     * 登录信息对象
     */
    public abstract Login getLogin();


    /**
     * 网络环境信息对象
     */
    public abstract Network getNetwork();


    /**
     * 会员省份息对象
     */
    public abstract Member getMember();

    /**
     * 达人身份（type)息对象
     */
    public abstract ExType getExType();

    /**
     * 达人身份（subtype)息对象
     */
    public abstract ExSubType getExSubType();

    /**
     * 成长等级对象
     */
    public abstract Growth getGrowth();

    /**
     * 动态人群
     *
     * @return 动态人群对象
     */
    public abstract DynamicGroup getDynamicGroup();
}
